package com.zhangxin.aiInterview.manager.work_flow.hr_interview_analyze.model;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.util.List;

/**
 * Hr面分析数据结构
 */
@Data
public class HrInterviewAnalysisData {

    private CommunicationAbilityAnalysis communicationAbility; // 沟通表达能力分析（对应 hr-out1）
    private MultimodalAnalysisResult multimodalAnalysis;       // 多模态分析结果（对应 hr-out2）
    //所有题目的分数
    private List<Double> scores;

    /**
     * 多模态分析部分
     */
    @Data
    public static class MultimodalAnalysisResult {
        private List<QuestionEvaluation> questionList;    // 每个问题的评估
        private String overallMultimodalSummary;          // 整体多模态分析总结（原 Summary）
    }

    /**
     * 单个问题分析
     */
    @Data
    public static class QuestionEvaluation {
        private String question;                          // 面试问题
        private String answer;                            // 面试答案
        @JSONField(name = "multimodal_emotion")
        private List<MultimodalEmotionDetail> emotionDetails; // 多模态情绪细节（原 multimodal_emotion）
        @JSONField(name = "summary")
        private String answerEvaluationSummary;           // 本题的总结（原 summary）
    }

    /**
     * 多模态情绪细节
     */
    @Data
    public static class MultimodalEmotionDetail {
        private String microExpression;   // 微表情
        private String audioEmotion;      // 语音情绪
        private String consistency;       // 表情与语音一致性
        private String facialActions;     // 面部动作
        private String bodyMovements;     // 身体动作
    }

    /**
     * 沟通表达能力分析部分
     */
    @Data
    public static class CommunicationAbilityAnalysis {
        private String microExpression;       // 微表情
        private String facialActions;         // 面部动作分析（JSON 字符串格式）
        private String speechRate;            // 语速
        private String audioEmotion;          // 语音情绪
        private String bodyMovements;         // 身体动作分析（JSON 字符串格式）
        private String communicationSummary;  // 沟通表达能力总结（原 summary）
    }
}
